package Interface.lian11;

/**
 * 接口回调:现有接口的使用者,后有接口的实现者
 */
public class TestGold {
    public static void main(String[] args) {
//程序员A  第四步
        checkGold(8,new EngineeAisPrice() );//实现类对象
    }
        //哥德巴赫猜想的工具  第二步 接口的调用可以先写,使用者
    public static  void checkGold(int num,MathTool tool){

        //1.将大于6的偶数进行拆分 (求质数)
        for (int i = 0; i < num/2; i++) {
            if (tool.isPrime(i)&&tool.isPrime(num-i)){
                System.out.println(num+"\t"+(num-i));
            }
        }
        //2.分别验证两个数拆分是否为质数
//        System.out.println(isPrime(11));
    }
}
//接口,隔离调用者与实现者,指定标准)  第一步有接口
interface  MathTool{
    public  abstract  boolean isPrime(int n);
}
//程序员A写个实现类   第三步
class EngineeAisPrice implements  MathTool{

    @Override
    public boolean isPrime(int n) {
        for (int i = 2; i < n; i++) {
            if (n%i ==0) {
                return false;
            }
        }
        return true;
    }

}
